package com.ruoyi.psi.purchase.purchasereturn.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
import java.util.List;

/**
 * 采购订单退货表
 * psi_purchase_return
 */
public class PurchaseReturn extends BaseEntity {
    /**
     * 采购订单退货编号
     */
    @NotNull(message = "采购订单退货编号不能为空")
    @ApiModelProperty(value = "销售收款编号", required = true)
    private String purchaseReturnId;
    /**
     * 采购订单入库编号
     */
    @NotNull(message = "采购订单入库编号不能为空")
    @ApiModelProperty(value = "采购订单入库编号", required = true)
    private String purchaseStorageId;
    /**
     * 仓库编号
     */
    @NotNull(message = "仓库编号不能为空")
    @ApiModelProperty(value = "仓库编号", required = true)
    private String warehouseId;
    /**
     * 仓库名称
     */
    @ApiModelProperty("仓库名称")
    @Excel(name = "仓库名称")
    private String warehouseName;
    /**
     * 供应商编号
     */
    @ApiModelProperty("供应商编号")
    private String supplierInfoId;
    /**
     * 供应商名称
     */
    @ApiModelProperty("供应商名称")
    private String supplierInfoName;
    /**
     * 退货时间
     */
    @ApiModelProperty(value = "退货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Timestamp returnTime;
    /**
     * 退货回款状态
     * 0：未回款/未完全回款 1：已回款
     */
    @ApiModelProperty("退货回款状态")
    private String returnType;
    /**
     * 备注
     */
    @ApiModelProperty("备注")
    private String remark;
    /**
     * 采购订单退货详细表
     */
    private List<PurchaseReturnList>purchaseReturnLists;

    public List<PurchaseReturnList> getPurchaseReturnLists() {
        return purchaseReturnLists;
    }

    public void setPurchaseReturnLists(List<PurchaseReturnList> purchaseReturnLists) {
        this.purchaseReturnLists = purchaseReturnLists;
    }

    public String getReturnType() {
        return returnType;
    }

    public void setReturnType(String returnType) {
        this.returnType = returnType;
    }

    public String getPurchaseReturnId() {
        return purchaseReturnId;
    }

    public void setPurchaseReturnId(String purchaseReturnId) {
        this.purchaseReturnId = purchaseReturnId;
    }

    public String getPurchaseStorageId() {
        return purchaseStorageId;
    }

    public void setPurchaseStorageId(String purchaseStorageId) {
        this.purchaseStorageId = purchaseStorageId;
    }

    public String getWarehouseId() {
        return warehouseId;
    }

    public void setWarehouseId(String warehouseId) {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    public String getSupplierInfoId() {
        return supplierInfoId;
    }

    public void setSupplierInfoId(String supplierInfoId) {
        this.supplierInfoId = supplierInfoId;
    }

    public String getSupplierInfoName() {
        return supplierInfoName;
    }

    public void setSupplierInfoName(String supplierInfoName) {
        this.supplierInfoName = supplierInfoName;
    }

    public Timestamp getReturnTime() {
        return returnTime;
    }

    public void setReturnTime(Timestamp returnTime) {
        this.returnTime = returnTime;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Override
    public String toString() {
        return "PurchaseReturn{" +
                "purchaseReturnId='" + purchaseReturnId + '\'' +
                ", purchaseStorageId='" + purchaseStorageId + '\'' +
                ", warehouseId='" + warehouseId + '\'' +
                ", warehouseName='" + warehouseName + '\'' +
                ", supplierInfoId='" + supplierInfoId + '\'' +
                ", supplierInfoName='" + supplierInfoName + '\'' +
                ", returnTime=" + returnTime +
                ", remark='" + remark + '\'' +
                '}';
    }
}
